package com.google.gwt.gfx.client.graphics;

import com.google.gwt.core.client.GWT;
import com.google.gwt.gfx.client.style.DefaultStyle;
import com.google.gwt.gfx.client.style.FillStyle;
import com.google.gwt.gfx.client.style.StrokeStyle;
import com.google.gwt.user.client.Element;

public interface GraphicFactory {

	public static GraphicFactory DEFAULT = GWT.create(GraphicFactory.class);

	Circle createCircle();

	Ellipse createEllipse();

	FillStyle createFillOf(Graphic g);

	Group createGroup();

	Line createLine();

	LinearRing createLinearRing();

	LineString createLineString();

	Path createPath();

	Rectangle createRectangle();

	StrokeStyle createStrokeOf(Graphic g);

	DefaultStyle createStyleOf(Graphic g);

	void register(Element element);

}
